预先训练的大语言模型(LLM)(例如OpenAI Codex)通过从非正式自然语言(NL)意图中生成自然代码来自动化编码的重要方面。但是,生成的代码无法满足用户意图的任何正确性保证。实际上,很难定义正确性的概念,因为自然语言可能是模棱两可的,并且缺乏正式的语义。在本文中,我们通过提出测试驱动的用户形式化(TDUIF)的工作流程来解决以上问题的第一步,该工作流利用轻量级用户的反馈共同将用户的意图正式化为测试(部分规范) ),(b)生成符合正式用户意图的代码。要对算法进行可扩展的大规模自动化评估,而无需循环中的用户,我们描述了如何使用参考解决方案模拟用户与高保真性的互动。我们还描述并实施了几种算法组件(包括突变和排名一组测试)的替代实现,这些实现可用于有效解决TDUIF问题。我们已经开发了一个系统的Ticoder,该系统实现了多种解决方案来进行TDUIF,并将其对MBPP学术代码生成基准测试的相对有效性进行了比较。在MBPP上使用OpenAI Codex LLM的结果很有希望:我们的最佳算法将通行证@1代码生成准确度指标从48.39%提高到单个用户查询,最高为85.48%,最多可达55.48%,最多可提供5个用户查询。其次,我们可以生成与用户意图在1.69个用户查询中的非平凡功能单位测试,该数据集为90.40%的示例,用于此数据集。
translated by 谷歌翻译
Large language models (LLMs) have demonstrated an impressive ability to generate code for various programming tasks. In many instances, LLMs can generate a correct program for a task when given numerous trials. Consequently, a recent trend is to do large scale sampling of programs using a model and then filtering/ranking the programs based on the program execution on a small number of known unit tests to select one candidate solution. However, these approaches assume that the unit tests are given and assume the ability to safely execute the generated programs (which can do arbitrary dangerous operations such as file manipulations). Both of the above assumptions are impractical in real-world software development. In this paper, we propose CodeRanker, a neural ranker that can predict the correctness of a sampled program without executing it. Our CodeRanker is fault-aware i.e., it is trained to predict different kinds of execution information such as predicting the exact compile/runtime error type (e.g., an IndexError or a TypeError). We show that CodeRanker can significantly increase the pass@1 accuracy of various code generation models (including Codex, GPT-Neo, GPT-J) on APPS, HumanEval and MBPP datasets.
translated by 谷歌翻译
协作软件开发是现代软件开发生命周期不可或缺的一部分,这对于大规模软件项目的成功至关重要。当多个开发人员围绕相同的代码进行同时更改时,可能会发生合并冲突。这种冲突停滞不前的请求和连续的集成管道数小时至几天,严重损害了开发人员的生产力。为了解决这个问题,我们介绍了Mergebert,这是一个新型的神经程序合并框架,基于令牌级别的三向差异和变压器编码器模型。通过利用合并冲突决议的受限性质,我们重新制定了将分辨率序列作为分类任务生成的任务,而不是从现实世界合并提交提交数据中提取的一组原始合并模式上进行分类任务。我们的模型可实现合并分辨率合成的63-68%精度,对现有的半结构化的性能提高了近3倍,而对神经程序合并工具的改善为2倍。最后,我们证明Mergebert足够灵活地使用Java,JavaScript,Typescript和C#编程语言中的源代码文件。为了衡量Mergebert的实际使用,我们进行了一项用户研究,以评估Mergebert的建议,其中25位来自大型OSS项目的开发人员在他们遇到的122场现实世界冲突中进行了研究。结果表明,实际上,Mergebert决议将被接受比自动指标估计的精确度和准确性更高的速率。此外,我们使用参与者的反馈来确定未来改善Mergebert的途径。
translated by 谷歌翻译
In semi-supervised representation learning frameworks, when the number of labelled data is very scarce, the quality and representativeness of these samples become increasingly important. Existing literature on semi-supervised learning randomly sample a limited number of data points for labelling. All these labelled samples are then used along with the unlabelled data throughout the training process. In this work, we ask two important questions in this context: (1) does it matter which samples are selected for labelling? (2) does it matter how the labelled samples are used throughout the training process along with the unlabelled data? To answer the first question, we explore a number of unsupervised methods for selecting specific subsets of data to label (without prior knowledge of their labels), with the goal of maximizing representativeness w.r.t. the unlabelled set. Then, for our second line of inquiry, we define a variety of different label injection strategies in the training process. Extensive experiments on four popular datasets, CIFAR-10, CIFAR-100, SVHN, and STL-10, show that unsupervised selection of samples that are more representative of the entire data improves performance by up to ~2% over the existing semi-supervised frameworks such as MixMatch, ReMixMatch, FixMatch and others with random sample labelling. We show that this boost could even increase to 7.5% for very few-labelled scenarios. However, our study shows that gradually injecting the labels throughout the training procedure does not impact the performance considerably versus when all the existing labels are used throughout the entire training.
translated by 谷歌翻译
我们介绍了一种对比视频表示方法,它使用课程学习在对比度培训中施加动态抽样策略。更具体地说,Concur以易于正面样本(在时间上和语义上相似的剪辑上)开始对比度训练,并且随着训练的进行,它会有效地提高时间跨度,从而有效地采样了硬质阳性(时间为时间和语义上不同)。为了学习更好的上下文感知表示形式,我们还提出了一个辅助任务,以预测积极剪辑之间的时间距离。我们对两个流行的动作识别数据集进行了广泛的实验,即UCF101和HMDB51,我们提出的方法在两项视频动作识别和视频检索的基准任务上实现了最新的性能。我们通过使用R(2+1)D和C3D编码器以及对Kinetics-400和Kinetics-200200数据集的R(2+1)D和C3D编码器以及预训练的影响来探讨编码器骨架和预训练策略的影响。此外,一项详细的消融研究显示了我们提出的方法的每个组成部分的有效性。
translated by 谷歌翻译
培训深层神经网络以识别图像识别通常需要大规模的人类注释数据。为了减少深神经溶液对标记数据的依赖,文献中已经提出了最先进的半监督方法。尽管如此,在面部表达识别领域(FER)领域,使用这种半监督方法非常罕见。在本文中,我们介绍了一项关于最近提出的在FER背景下的最先进的半监督学习方法的全面研究。我们对八种半监督学习方法进行了比较研究当使用各种标记的样品时。我们还将这些方法的性能与完全监督的培训进行了比较。我们的研究表明,当培训现有的半监督方法时,每类标记的样本只有250个标记的样品可以产生可比的性能,而在完整标记的数据集中训练的完全监督的方法。为了促进该领域的进一步研究,我们在:https://github.com/shuvenduroy/ssl_fer上公开提供代码
translated by 谷歌翻译
在本文中,我们使用语言数据收集的现场方法讨论了四种低资源印度语语言的演讲语料库的过程中的工作 - Awadhi,Bhojpuri,Braj和Magahi。目前,语料库的总大小约为18小时(每种语言约4-5小时),并用语法信息进行转录和注释,例如词性标签,形态学特征和普遍的依赖关系。我们讨论了以这些语言收集数据的方法,其中大多数是在Covid-19大流行中心进行的,其中之一是为低收入群体带来一些额外的收入,说这些语言。在本文中,我们还讨论了这些语言中自动语音识别系统的基线实验的结果。
translated by 谷歌翻译
随着在敏感应用中广泛使用复杂的机器学习模型,了解他们的决策已成为一项重要任务。对表格数据进行培训的模型在解释其基本决策过程的解释方面取得了重大进展,该过程具有少量的离散功能。但是,将这些方法应用于高维输入(例如图像)并不是一项琐碎的任务。图像由原子水平的像素组成,并不具有任何解释性。在这项工作中,我们试图使用带注释的图像的高级可解释特征来提供解释。我们利用游戏理论的Shapley价值框架,该框架在XAI问题中广泛接受。通过开发一条管道来生成反事实并随后使用它来估计莎普利值,我们获得了具有强大的公理保证的对比度和可解释的解释。
translated by 谷歌翻译
尽管它们的准确性很高,但由于未知的决策过程和潜在的偏见,现代复杂的图像分类器不能被敏感任务受到信任。反事实解释非常有效地为这些黑盒算法提供透明度。然而,生成可能对分类器输出产生一致影响并揭示可解释的特征更改的反事实是一项非常具有挑战性的任务。我们介绍了一种新颖的方法,可以使用验证的生成模型为图像分类器生成因果关系但可解释的反事实解释,而无需进行任何重新训练或调节。该技术中的生成模型不可能在与目标分类器相同的数据上进行训练。我们使用此框架来获得对比度和因果关系,并作为黑盒分类器的全球解释。在面部属性分类的任务上,我们通过提供因果和对比特征属性以及相应的反事实图像来展示不同属性如何影响分类器输出。
translated by 谷歌翻译
重新配置图中的两个最短路径意味着通过一次改变一个顶点来修改一个最短的路径,使得所有中间路径也是最短路径。这个问题有几个自然应用,即:(a)改造道路网络,(b)在同步多处理设置中重新排出数据包,(c)运输集装箱存货问题,以及(d)列车编组问题。在作为图形问题的建模时,(a)是最常规的情况而(b),(c)和(d)是对不同图形类的限制。我们表明(a)是棘手的,即使对于问题的轻松变体也是如此。对于(b),(c)和(d),我们提出了有效的算法来解决各自的问题。我们还将问题概括为当最多$ k $(对于固定整数$ k \ geq k \ ge $ k \ geq 2 $)一次连续的顶点一次可以一次更改。
translated by 谷歌翻译